home *** CD-ROM | disk | FTP | other *** search
- global gSize, gCast, gVariable, gFirstColor, myCurrentImage, myCurrentPreview, myCurrentSelection, gMarqueeRect, gSelectRect, myTimerStart, gSelectionEdited, myStartImage
-
- on toolText
- global gMUI
- gMUI = new(xtra("mui"))
- windowProps = GetWindowPropList(gMUI)
- windowProps.type = #normal
- windowProps.name = "Input Text"
- windowProps.callback = "myCallbackFont"
- windowProps.width = 200
- windowProps.height = 100
- windowProps.Mode = #pixel
- list = []
- element = GetItemPropList(gMUI)
- element.type = #label
- element.value = "Text:"
- element.locH = 5
- element.locV = 5
- element.width = 100
- element.height = 20
- add(list, element)
- element = GetItemPropList(gMUI)
- element.type = #editText
- element.value = EMPTY
- element.locH = 5
- element.locV = 30
- element.width = 190
- element.height = 20
- add(list, element)
- element = GetItemPropList(gMUI)
- element.type = #defaultPushButton
- element.title = "OK"
- element.locH = 20
- element.locV = 65
- element.width = 60
- element.height = 20
- add(list, element)
- element = GetItemPropList(gMUI)
- element.type = #cancelPushButton
- element.title = "Cancel"
- element.locH = 120
- element.locV = 65
- element.width = 60
- element.height = 20
- add(list, element)
- Initialize(gMUI, [#windowPropList: windowProps, #windowItemList: list])
- Run(gMUI)
- end
-
- on myCallbackFont action, elementNumber, elementList
- global gMUI, gNameValue
- if action = #itemChanged then
- gNameValue = elementList.value
- end if
- if (action = #itemClicked) and (elementList.title = "OK") then
- if (gNameValue = EMPTY) or (gNameValue = VOID) then
- member("image text").text = "text"
- else
- member("image text").text = gNameValue
- end if
- stop(gMUI, 0)
- gMUI = VOID
- gNameValue = VOID
- cursor(4)
- member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- myStartImage = duplicate(member(gSize & "x" & gSize, gCast).image)
- myCurrentImage = duplicate(member(gSize & "x" & gSize, gCast).image)
- myCurrentPreview = duplicate(member("preview", gCast).image)
- myMask = member("image text").image.extractAlpha().trimWhiteSpace()
- myCurrentSelection = image(myMask.width, myMask.height, 32)
- myCurrentSelection.fill(myCurrentSelection.rect, rgb(gFirstColor.red, gFirstColor.green, gFirstColor.blue))
- myCurrentSelection.useAlpha = 1
- myCurrentSelection.setAlpha(myMask)
- myCurrentImage.copyPixels(myCurrentSelection, rect(0, 0, myCurrentSelection.width, myCurrentSelection.height), myCurrentSelection.rect)
- member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
- sendSprite(146, #turnMeOn)
- r = myCurrentSelection.width
- b = myCurrentSelection.height
- gSelDestRect = rect(0, 0, r, b)
- sprite(4).rect = rect((gSelDestRect.left * gVariable) + sprite(1).left, (gSelDestRect.top * gVariable) + sprite(1).top, (gSelDestRect.right * gVariable) + sprite(1).left, (gSelDestRect.top * gVariable) + sprite(1).top + 1)
- sprite(5).rect = rect((gSelDestRect.left * gVariable) + sprite(1).left, (gSelDestRect.top * gVariable) + sprite(1).top, (gSelDestRect.left * gVariable) + sprite(1).left + 1, (gSelDestRect.bottom * gVariable) + sprite(1).top)
- sprite(6).rect = rect((gSelDestRect.right * gVariable) + sprite(1).left - 1, (gSelDestRect.top * gVariable) + sprite(1).top, (gSelDestRect.right * gVariable) + sprite(1).left, (gSelDestRect.bottom * gVariable) + sprite(1).top)
- sprite(7).rect = rect((gSelDestRect.left * gVariable) + sprite(1).left, (gSelDestRect.bottom * gVariable) + sprite(1).top - 1, (gSelDestRect.right * gVariable) + sprite(1).left, (gSelDestRect.bottom * gVariable) + sprite(1).top)
- updateStage()
- fnUpdatePreview()
- gMarqueeRect = rect(sprite(5).left, sprite(4).top, sprite(6).right, sprite(7).bottom)
- gSelectRect = rect((sprite(5).left - sprite(1).left) / gVariable, (sprite(4).top - sprite(1).top) / gVariable, (sprite(6).right - sprite(1).left) / gVariable, (sprite(7).bottom - sprite(1).top) / gVariable)
- put gSelectRect.width into field "dimension status W"
- put gSelectRect.height into field "dimension status H"
- myTimerStart = the milliSeconds
- gSelectionEdited = 1
- cursor(0)
- else
- if (action = #itemClicked) and (elementList.title = "Cancel") then
- stop(gMUI, 0)
- gMUI = VOID
- gNameValue = VOID
- end if
- end if
- end
-